package com.usdt.system.domain.req;

import java.time.LocalDateTime;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Tag(name = "线索登记VO")
public class ClueRegisterReqVO {
	
	@Schema(title = "线索来源(查主数据)")
	@NotEmpty(message = "source is not null")
    private String source;

	@Schema(title = "线索级别(查主数据)")
    private String level;

	@Schema(title = "到访状态(查主数据)")
    private String visitStatus;

	@Schema(title = "线索时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime clueTime;

	@Schema(title = "人数")
    private Integer peopleNum;

	@Schema(title = "核心需求")
    private String coreRequirement;

	@Schema(title = "健康状态")
    private String healthStatus;

	@Schema(title = "病史")
    private String medicalHistory;

	@Schema(title = "同步到项目")
    private String synProjects;
	
	@Schema(title = "线索登记-客户")
	@NotEmpty(message = "客户不能为空")
	@NotNull(message = "客户不能为空")
    @Size(min = 1, message = "客户不能为空")
	private List<ClueCustomerInfoReqVO> clueCustomerList;
    
}
